home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Interactive Web Graphics with Shout 3D
/
Interactive Web Graphics With Shout 3D.iso
/
mac
/
Shout3Ddemo
/
Shout3d_runtime
/
codebase
/
applets
/
JavaScriptSceneChangeApplet.jav
< prev
next >
Wrap
Text File
|
2000-10-16
|
2KB
|
68 lines
/**
Company: Eyematic Interfaces
Project: Shout3D 2.0 Sample Code
Class: Viewer
Date: April 26, 1999
Description: Class for Viewer
(C) Copyright Eyematic Interfaces, Inc. - 1997-2000 - All rights reserved
*/
package applets;
import java.applet.*;
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import java.util.Date;
import java.net.URL;
import shout3d.core.*;
import shout3d.*;
/**
* Shout3D viewer
*
* @author Jim Stewartson
* @author Paul Isaacs
* @author Dave Westwood
*/
public class JavaScriptSceneChangeApplet extends Shout3DApplet implements RenderObserver{
protected void finalize() throws Throwable {
if (isRenderObserving)
getRenderer().removeRenderObserver(this);
super.finalize();
}
public void initShout3DPanel(){
panel = new ExaminePanel(this);
}
boolean isRenderObserving = false;
boolean waitingToChangeScenes = false;
String nextSceneUrl;
public void changeToScene(String newScene){
if (isRenderObserving == false){
getRenderer().addRenderObserver(this, null);
isRenderObserving = true;
}
waitingToChangeScenes = true;
nextSceneUrl = newScene;
}
public void onPreRender(Renderer r, Object userData){
}
public void onPostRender(Renderer r, Object userData){
if (waitingToChangeScenes){
String[] urls = { nextSceneUrl };
setSceneFromURL(urls);
waitingToChangeScenes = false;
}
}
public void addChild( Group parent, Node child ){
Node[] newKids = { child };
parent.addChildren(newKids);
}
}